High-density recording on multiple tracks of a magnetic tape is known. In certain arrangements, parallel tracks extend along a longitudinal direction of the magnetic tape. The magnetic tape is moved transversely across a read/write head and data is recorded or read.
Many conventional tape drives are used to back up data stored on the hard disc drive of a computer system. Generally the speed at which the hard disc system can deliver data differs from the speed at which the tape drive can record data and in such cases a data buffer is used. The data is read from the hard disc drive or “host” computer and stored on the data buffer and then the data is transmitted from the data buffer to be recorded on the tape drive.
When a data buffer is used, repositions and under runs of the tape drive are important parts of the operation. They are invoked by the tape drive when the data buffer becomes empty so there is no more data to be written to the tape. At this time the tape is moving at a certain speed and must slow down and stop. Then the tape direction is reversed to cause the tape to go back some distance so that the read/write heads precede the location where writing of data was stopped. The tape then is ready to speed up in the forward direction and rewriting can be started from the last place it ended. This can be called the append process.
The reposition operation is the motion that begins at the time when the drive is slowed down to stop and the tape moves backward to reposition the magnetic head ahead of a particular position on the tape such as the last place the data was written. The time it takes from the point of start of ramp down to final rest position is defined as the reposition time. The under run operation is a combination of two physical motions, reposition followed by a ramp up motion to restart the writing process.
Commonly in conventional drive design, the reposition and under run operations are done by speed control and moving the tape back far enough during reposition so that if the drive was commanded to rewrite it has plenty distance to move during the ramp up part of the process such that it is ready to append to the data at the appropriate location on the tape.
A conventional tape drive system is shown in FIG. 1. This system comprises a tape drive 12 connected to a host computer 10 by a cable 16, and an associated tape cartridge 14. The tape drive 12 includes a receiving slot 22 into which the tape cartridge 14 is inserted. The tape cartridge 14 comprises a housing 18 containing a length of magnetic tape 20. The tape drive 12 is preferably compatible with the associated host computer, and can assume any one of a variety of cartridge or cassette linear formats.
A typical configuration of the tape drive 12 is schematically shown in FIG. 2. The tape drive 12 in FIG. 2 comprises a deck 24 including movable parts, and a control card 26 including various circuits and buses. The deck 24 includes a head assembly 28 which contacts the tape 20 of the tape cartridge inserted into the tape drive 12 to read and write data and read a servo pattern, and motors 34 and 36 for respectively rotating a supply reel 30 and a take-up reel 32. For a tape cartridge 14 of a dual reel type, both of the reels 30 and 32 are included in the tape cartridge 14. For a tape cartridge 14 of a single reel type, however, only the supply reel 30 is included in the tape cartridge 14 while the take-up reel 32 is provided in the tape drive 12. Although not shown in FIG. 2, the deck 24 additionally includes a mechanism for moving the head assembly 28 across the width of the tape 20, a mechanism for holding the inserted tape cartridge, and a mechanism for ejecting the inserted tape cartridge.
The control card 26 includes a microprocessor (MPU) 38 for the overall control of the tape drive 12; a memory 42, a servo control unit 44, a data flow unit 46 and an interface control unit 48 all of which are connected to the MPU 38 via an internal bus 40; a motor control unit 50 and a head control unit 52 which are connected to the servo control unit 44, and a data buffer 54 which is connected to the data flow unit 46. While the memory 42 is shown as a single hardware component in FIG. 2, it is actually preferably constituted by a read only memory (ROM) storing a program to be executed by the MPU 38, and a working random access memory (RAM). The servo control unit 44 manages speed control for the motors 34 and 36 and position control for the head assembly 28 by transmitting the respective control signals to the motor control unit 50 and the head control unit 52. The motor and head control units 50 and 52 respond to these control signals by physically driving the motors 34, 36 and positioning the head assembly 28, respectively.
The head assembly 28 includes servo heads which read data from servo tracks or bands on the tape 20. Control card 26 utilizes data from the servo tracks to generate a position error signal (PES), and the PES is used by the servo control unit 44 to cause the head control unit 52 to position the head assembly 28. In some conventional designs the head assembly 28 includes a voice coil motor (VCM) 56 which receives electrical signals from the head control unit 52 and positions the head assembly 28 according to the received signals.
The data flow unit 46 compresses data to be written on the tape 20, decompresses data read from the tape 20 and corrects errors, and is connected not only to the data buffer 54 but also to the interface control unit 48. The interface control unit 48 is provided to communicate data to/from the host computer 10 via the cable 16. The data channel unit 54 is essentially a data modulating and demodulating circuit. That is, when data is written to the tape 20, it performs digital-analog conversion and modulation for data received from the data flow unit 46, and when data is read from the tape 20, it performs analog-digital conversion and demodulation for data read by the head assembly 28.
It can now be understood that the speed of the tape is an important parameter in read/write operations. The maximum data transfer rate of a tape drive is normally specified under ideal conditions where a host computer is used which has a data transfer rate equal to the data transfer rate of the tape drive. In actual applications this is generally not the case and the tape drive can be used with a variety of computers having different transfer rates, which therefore affects the overall system transfer rate. For instance, a fast, state of the art tape drive when used with a slow host can actually result in very slow overall system performance due to the fact that the drive must frequently do repositioning in order to wait for the slow host.
In order to improve system performance, variable speed tape drives are sometimes used. However, the current systems to control the speed of the drives suffer from certain shortcomings.
Accordingly, it is an object of the present invention to provide a system and method to optimize the speed of tape drives.